﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using RFServer.Drive;
using RFServer.Monitor;
using RFServer.ServiceWCF;

namespace RFServer.Service
{
    partial class RFServer : ServiceBase
    {
        public RFServer()
        {
            InitializeComponent();
        }

        protected override void OnStart(string[] args)
        {
            /* Запуск сервера                                   */

            if (!ServiceControl.Start())
                return;

            /* Монтирование виртуального диска                  */

            Mounter.Automount();

            /* Запуск отслеживания изменений в локальных        */
            /* файловых системах                                */

            Watcher.Autowatch();

            /* Сервер запущен                                   */

            Setup.Log("[server]: Service started");
        }

        protected override void OnStop()
        {
            ServiceControl.Stop();

            /* Сервер остановлен                                */

            Setup.Log("[server]: Service stopped");
        }
    }
}
